//AccountMapper.java
package com.example.mapper;
import org.apache.ibatis.annotations.Param;

import com.example.entity.Account2;


import java.util.List;

public interface AccountMapper {
    // 查询所有账户
    List<Account2> selectAll();

    // 通过ID查询账户
    Account2 selectById(Long id);

    // 通过accountnumber查询账户
    Account2 selectByAccount(@Param("accountnumber")String accountnumber);

    // 插入新账户
    void insertAccount(Account2 account);

    // 更新账户信息（name, phone, email, avatar）
    void updateAccount(Account2 account);

    // 更新角色为 merchant
    void updateRole(String accountnumber);

    // 根据传入的字段动态更新账户信息
    void updateInfo(Account2 account);

    // 根据a_id删除账户
    void deleteAccountById(Long aId);

    // 根据accountnumber删除账户
    void deleteAccountByAccount(String accountnumber);

    // 根据accountnumber查询角色
    String selectRoleByAccount(String accountnumber);

    // 根据accountnumber查询账户的基本信息（name, phone, email, avatar, create_time）
    Account2 selectAccountInfoByAccount(String accountnumber);

}
